def f1(a, b, c):
    """位置参数"""
    print("位置参数：", locals())


def f2(a, b=200, c=300):
    """参数默认值"""
    print("参数默认值：", locals())


def f3(a, b, c):
    """命名参数"""
    print("命名参数：", locals())


def f4(*params, **kparams):
    """
    可变参数
    :param params: （一个星号），将零个或多个位置参数收集到一个【元组】中
    :param kparams: （二个星号），将零个或多个命名参数收集到个【字典】中
    """
    print("可变参数：【{0}】【{1}】".format(params, kparams))


def f5(*params, x, y):
    """
    强制命名参数
    """
    print("强制命名参数：", locals())


f1(1, 2, 3)
f2(100)
f3(c=56, a=12, b=34)
f4()
f4(1, 2, 3)
f4(a=1, b=2, c=3)
f4(1, 2, 3, a=4, b=5, c=6)
f5(1, 2, 3, 4, x=99, y=100)
